home *** CD-ROM | disk | FTP | other *** search
/ Animation How-To / Animation How-to CD.iso / PLY / CHAPTER4 / THREAD / THREAD.PI < prev   
Text File  |  1994-01-01  |  2KB  |  70 lines

  1. // Spiraling Bezier Animation: Jeff Bowermaster
  2.  
  3. start_frame 0
  4. end_frame 44
  5. total_frames 45
  6.  
  7. define index 360/total_frames
  8.  
  9. outfile thred
  10.  
  11. include "\ply\colors.inc"
  12.  
  13. // Set up background color & lights
  14. background midnightblue
  15. light <0,25,0>
  16. light <10,50,-120>
  17.  
  18. viewpoint {
  19.    from <5.01, 40.01,-40.01>
  20.    at <0,0,7.5>
  21.    up   <0, 1,  0>
  22.    angle 30
  23.    resolution 320,200
  24.    aspect 1.433
  25.    }
  26.  
  27. // make a tabletop
  28. define table
  29. object {
  30.    polygon 4,<-25,0.01,-25>,<25,0.01,-25>,<25,0.01,25>,<-25,0.01,25>
  31.    reflective_blue
  32. }
  33. object {
  34.    box <-25,-1,-25>,<25,0,25>
  35.    texture {surface { color navyblue ambient 0.2 diffuse 0.6}}
  36. }
  37.  
  38. define pi 3.14159
  39. define rad pi/180
  40.  
  41. // Blobs 3-phased height components - each 1/3rd out from the other
  42. define a 7 + 3*sin(index*frame*rad)
  43. define b 7 + 3*sin(index*(frame+(total_frames/3)*rad))
  44. define c 7 + 3*sin(index*(frame+(2*total_frames/3)*rad))
  45.  
  46. object {
  47.    blob 0.6:
  48.       sphere <0,a,0>, 3, 3, 
  49.       sphere <0,b,0>, 4, 4, 
  50.       sphere <0,c,0>, 5, 5
  51.    reflective_cyan 
  52. }
  53.  
  54. // rotate the base bezier patch 
  55. define p1 rotate(<1,1,0>,<0,0,frame*index/2>)
  56. define p2 rotate(<-1,1,0>,<0,0,frame*index/2>)
  57. define p3 rotate(<1,-1,0>,<0,0,frame*index/2>)
  58. define p4 rotate(<-1,-1,0>,<0,0,frame*index/2>)
  59.  
  60. define r 10            // radius of spiral
  61. define thread 5 / 360  // gives 5 units up per 360 degree
  62. static define ang 0    // angular rotation of segment pieces
  63.  
  64. define offs 0.04    // pull control points out 4%, "round" the spiral
  65. define detail 0.1
  66.  
  67. include "thread.inc"
  68.  
  69.  
  70.